home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-28 | 2.3 KB | 90 lines | [TEXT/MPS ] |
- /*
- File: MailBuffer.cp
-
- Copyright: © 1991-1994 by Apple Computer, Inc.
- All rights reserved.
-
- Part of the AOCE Sample SMSAM Package. Consult the license
- which came with this software for your specific legal rights.
-
- */
-
-
-
- #ifndef __DEBUGGINGGEAR__
- #include "DebuggingGear.h"
- #endif
-
- /***********************************|****************************************/
-
- #pragma segment MailBuffer
-
- /***********************************|****************************************/
-
- MailBuffer SetupMailBuffer ( void * bufferP, unsigned long bufferSize, unsigned long dataSize )
- { MailBuffer result;
-
- #if debug
- // Sanity checking
- if ((bufferSize > 16384) || (bufferSize < 0) || ( bufferP == nil ) ) {
- keith << "SetupMailBuffer: (Possible invalid buffer size " << bufferSize << " @" << (const void*) bufferP << " dataSize=" << dataSize << endl;
- }
- #endif
-
- result.bufferSize = bufferSize;
- result.buffer = (Ptr) bufferP;
- result.dataSize = dataSize;
-
- return result;
- }
-
- /***********************************|****************************************/
-
- MailBuffer AllocateMailBuffer(long bufferSize, void* where, long dataSize)
- { MailBuffer result;
-
- #if debug
- // Sanity checking
- if ((bufferSize > 16384) || (bufferSize < 0)) {
- keith << "AllocateMailBuffer: (Possible invalid buffer size " << bufferSize << " @" << (void*) where << " dataSize=" << dataSize << endl;
- }
- #endif
-
- result.bufferSize = bufferSize;
- if ( ( bufferSize > 0 ) && ( where == nil) ) {
- result.buffer = FAILNewPtr ( bufferSize );
- result.bufferSize = GetPtrSize ( result.buffer ); // for safety.
- } else {
- result.buffer = (Ptr) where;
- };
- result.dataSize = dataSize;
-
- return result;
- };
-
- /***********************************|****************************************/
-
- // gets bufferSize from GetPtrSize(where), dataSize = 0
- MailBuffer AllocateMailBuffer ( Ptr where )
- { MailBuffer result;
-
- result.buffer = where;
- if (result.buffer) {
- result.bufferSize = result.dataSize = GetPtrSize(where);
- } else {
- result.bufferSize = result.dataSize = 0;
- };
-
- return result;
- };
-
- void DisposeMailBuffer(MailBuffer& buffer) {
- if (buffer.buffer) {
- DeallocatePtr(buffer.buffer);
- buffer.buffer = nil;
- };
- buffer.bufferSize = buffer.dataSize = 0;
- };
-
- /***********************************|****************************************/
-